home *** CD-ROM | disk | FTP | other *** search
/ MIDICraft's MIDINET CD-ROM / MIDICraft's MIDINET CD-ROM.iso / DOSUTILS / MAPNOTES.DOC < prev    next >
Text File  |  1996-11-26  |  6KB  |  164 lines

  1.         ******************************
  2.             MAPNOTES v1.0
  3.     
  4.              midi note mapping
  5.               by Guenter Nagler 
  6.                 1996 
  7.           (gnagler@ihm.tu-graz.ac.at)
  8.         ******************************
  9.  
  10. [0] FEATURES
  11.     + reads a binary midi file
  12.     + reads note translation table from a text file
  13.     + writes a binary midi file
  14.  
  15. [1] BACKGROUND
  16. Sometimes notes are totally wrong and can be edited with midi editors 
  17. manually with much work. 
  18. This utility simply exchanges notes with other ones in song or certain 
  19. channels.
  20. Exchanges are written in a text file and can be used next time again when
  21. same problem occurs. The notes can be specified using note names (e.g. C5)
  22. or note numbers in decimal (60)  or hexadecimal ($3C).
  23.  
  24. [2] FILES DESCRIPTION
  25.  
  26. MAPNOTES.EXE.........converter program
  27. MAPNOTES.DOC.........this file, showing usage of MAPNOTES.EXE
  28. MIDIIO.HPP...........header file for a c++ midi parser
  29. MIDIIO.CPP...........source code for a c++ midi parser
  30. MAPNOTES.CPP.........c++ source code for midi to text
  31. MAPNOTES.MAK.........make file for project 
  32. MAPNOTES.CFG.........compiler options for make
  33. MAPNOTES.PRJ.........compiler project for borland c++ compilers
  34. MAPNOTES.CHG.........note translation table 
  35. only MAPNOTES.EXE is required to run program
  36. a change file like MAPNOTES.CHG must be available.
  37.  
  38. [3] COPYRIGHT
  39.  
  40. MAPNOTES (c) 1996 was created by Guenter Nagler.
  41.  
  42. MAPNOTES is free and may be used as you wish with this one exception:
  43.  
  44.     You may NOT charge any fee or derive any profit for distribution
  45.     of MAPNOTES.  Thus, you may NOT sell or bundle MAPNOTES with any 
  46.     product in a retail environment (shareware disk distribution, CD-ROM,
  47.     etc.) without permission of the author.
  48.  
  49. You may give MAPNOTES to your friends, upload it to a BBS, or ftp it to
  50. another internet site, as long as you don't charge anything for it.
  51.  
  52. [4] DISCLAIMER
  53.  
  54. MAPNOTES was designed to handle 100% compatible midi files.
  55. So I give no guarantees of the results, especially with non 100% 
  56. compatible midi files.
  57. If you find a midi file that you think to be 100% compatible midi
  58. that is not correctly converted, please send a sample file to 
  59. gnagler@ihm.tu-graz.ac.at . 
  60.  
  61. Use MAPNOTES at your own risk.  Anything you do with MAPNOTES is your
  62. responsibility, and not the author's.  Any damage caused to any person,
  63. computer, software, hardware, company, or business by running MAPNOTES 
  64. is your responsibility, and the author will not be liable.
  65.  
  66. If you don't understand these terms, or are not sure of something, or
  67. are afraid something bad might come of using MAPNOTES, don't  use  it!
  68. You are here forewarned.
  69.  
  70. [5] INSTALLATION
  71.  
  72. [MSDOS]
  73. Simply copy MAPNOTES.EXE in a directory that is in your path.
  74. When you start the program without arguments
  75.  
  76. [UNIX]
  77. compile sources with your C++ compiler (e.g. GNU Compiler g++):
  78.  
  79. g++ -o MAPNOTES MAPNOTES.cpp midiio.cpp
  80.  
  81. and run program
  82.  
  83. $ MAPNOTES
  84.  
  85. C:\> MAPNOTES
  86.  
  87. you should get the usage text (see next section)
  88.  
  89. [6] USAGE
  90.  
  91. MAPNOTES translates notes
  92. usage: MAPNOTES [-chg file.chg] [-c #] [-quiet] file.mid changed.mid
  93. -chg file.chg   load change from file.CHG (default is MAPNOTES.CHG)               
  94. -c #        modify programs on channel (1-16, default: all channels)
  95. -quiet          be quiet! does not write percentage info                        
  96.  
  97. The parts in brackets [...] are optional.
  98.  
  99. Option -c can be used more than once to select some channels.
  100.  
  101. Warning:
  102.   Do not expect that MAPNOTES will produce a copy of the original
  103.   file if no translations are done! MIDI allows to encode its
  104.   commands in different ways without changing the semantic of the
  105.   notes (It is allowed to compress the midi file by ommiting
  106.   redunant command bytes, but it is no duty).
  107.  
  108. [8] SUGGESTIONS / COMMENTS / BUG REPORTS / QUESTIONS
  109.  
  110.          WWW:    http://hgiicm.tu-graz.ac.at/Cpub
  111.           contains all my dos/unix midi programs
  112.          EMAIL:  gnagler@ihm.tu-graz.ac.at
  113.  
  114. [9] TRANSLATION TABLE
  115. Modify MAPNOTES.CHG or modify a copy of it (if you are using alternative
  116. translation tables).
  117.  
  118. Semicolons are used for comments that stop at end of current line.
  119. this not ; but this is a comment
  120.  
  121. Numbers can be entered decimal or hexadezimal
  122. 62  ; this is a decimal value
  123. $3e ; this is a hexadecimal value that has same value as decimal 62
  124.  
  125. Note translations are defined by lines of the form:
  126. oldnote  =>  newnote
  127.  
  128. where oldnote and newnote are note numbers or note names
  129.  
  130. e.g. mapnotes.chg:
  131. ; some note translations used in my song
  132. C5 => 80
  133. $39 => 70
  134. C3 => C#3
  135.  
  136. This can also be used to map drum notes (option -c 10).
  137.  
  138. Following note names are recognized:
  139.   C0 C#0 D0 D#0 E0 F0 F#0 G0 G#0 A0 A#0 B0
  140.   C1 C#1 D1 D#1 E1 F1 F#1 G1 G#1 A1 A#1 B1
  141.   C2 C#2 D2 D#2 E2 F2 F#2 G2 G#2 A2 A#2 B2
  142.   C3 C#3 D3 D#3 E3 F3 F#3 G3 G#3 A3 A#3 B3
  143.   C4 C#4 D4 D#4 E4 F4 F#4 G4 G#4 A4 A#4 B4
  144.   C5 C#5 D5 D#5 E5 F5 F#5 G5 G#5 A5 A#5 B5
  145.   C6 C#6 D6 D#6 E6 F6 F#6 G6 G#6 A6 A#6 B6
  146.   C7 C#7 D7 D#7 E7 F7 F#7 G7 G#7 A7 A#7 B7
  147.   C8 C#8 D8 D#8 E8 F8 F#8 G8 G#8 A8 A#8 B8
  148.   C9 C#9 D9 D#9 E9 F9 F#9 G9 G#9 A9 A#9 B9
  149.   C10 C#10 D10 D#10 E10 F10 F#10 G10
  150.  
  151. They correspond to note numbers 0-127.
  152.  
  153. [10] USE
  154.  
  155. example: translate all non-drum notes specified in MAPNOTES.CHG in current directory
  156.    MAPNOTES original.mid changed.mid
  157.  
  158. example: convert only GM drum notes using drum mapping table
  159.    MAPNOTES -c 10 -chg perc.chg file.mid gmfile.mid
  160.  
  161. example: modify all channels including drum channel 10
  162.    MAPNOTES -c 1-16 old.mid new.mid
  163.  
  164.